import { createApp } from 'vue'
import router from '@/routes'
import App from './App.vue'

let instance = null
let Router = router
function render (props = {}) {
  console.log('slave-vue3 rendering')
  const { container } = props
  instance = createApp(App)
  instance.use(Router)
  instance.mount(container ? container.querySelector('#app') : '#app')
}

// 独立运行时
if (!window.__POWERED_BY_QIANKUN__) {
  render()
}

export async function bootstrap () {
  console.log('[vue] vue app bootstraped')
}
export async function mount (props) {
  console.log('[vue] props from main framework', props)
  render(props)
}
export async function unmount () {
  console.log('instance3-1', instance)
  instance.unmount()
  console.log('instance3', instance)
  Router = null
}
